1. Field of the Invention
The present invention relates to an image processing apparatus that performs image processing to render an object. More specifically, rasterizing an object into a bitmap.
2. Description of the Related Art
In a recent central processing unit (CPU) equipped in an image processing apparatus, an access speed to a main memory is not so high compared to a speed of internal processing which is greatly increased.
Instead, to compensate for insufficiency in the access speed to the main memory, the CPU can be equipped with a high-speed cache memory. The cache memory has a very small capacity compared to the main memory. Therefore, the cache memory is configured to increase the processing speed based on the principle of locality of reference (LOF), i.e., characteristic of a runtime program that manages the locality of memory access.
This characteristic is based on that a command and its data to be executed immediately after a command and data presently executed are stored in a memory area having an address next to that of the presently executed command and data and sequentially accessed.
However, compared to the program (text) that can maintain higher locality, the data is dependent on respective processing. It is very difficult to assure that the data to be processed next is present in the next address.
Similar situation occurs in a rendering process of PDL data that constitute one page with a plurality of objects.
More specifically, if rendering process (writing) positions, i.e., coordinate positions, of respective objects are distant from each other, their locality is lessened and the access becomes random.
To solve this problem, in addition to the cache memory, the CPU can include a high-speed access memory (hereinafter, referred to as “local memory”). In general, the local memory stores data which is processed in each processing in a format specialized therefor.
As discussed in Japanese Patent Application Laid-Open No. 11-227301, there is a high-speed processing method for rendering PDL data on a local memory, according to which a page is divided into a plurality of bands and stored in the local memory for use in the processing.
However, according to the above-described method, the local memory is required to have capacity sufficient for the bands. The local memory is generally expensive and is not available for a low cost system.
Moreover, if a size of an object is relatively large, the object can maintain higher locality when it is processed for rendering. The local memory needs not to be used for such an object.
According to the conventional method, an object having a large size is also processed for rendering on the local memory. Therefore, transfer processing between the main memory and the local memory may be uselessly performed.
Recently, a multi-functional direct memory access (DMA) circuit could be used for the transfer processing between the local memory and the main memory. However, usability of the functions of the DMA circuit to effectively use the local memory is not considered.